In a conventional information storage device, for example a hard disk device (hereafter, referred to as an HDD), a sufficient amount of time for specifying a source (cause) of an access error (in the case of data reading or data writing, approximately 10 seconds) is used as a timeout value during access. Hence, when an error occurs during HDD access, the error source is specified before a timeout, and then recovery processing corresponding to the error source is executed.
Note that the aforementioned timeout value may differ according to a command executed by the HDD, but during initial access, in which the HDD executes a command (a Reset command, a Read command, a Write command, and so on) such that the CPU accesses the HDD for the first time, and an access retry, which is executed following recovery from an error occurring during the initial access, the HDD is accessed in accordance with an identical command and therefore an identical value is typically used as the timeout value. Note that the type of access to the HDD is determined in accordance with the content of the command executed on the HDD side, and the timeout value differs according to the type of access.
Patent Document 1 discloses a control device for a disk array in which different timeout values are used according to the condition of the disk array. In this control device, a first timeout value is used to access the disk array when the disk array is operating normally, but in a state of degeneration occurring when one disk of the disk array is defective, a second timeout value smaller than the first timeout value is used, that is, access is timed out in a shorter amount of time than when the disk array is normal.    Patent Document 1: Japanese Patent Publication No. 3,284,963
In this conventional information storage device, identical timeout periods are used during initial access and an access retry, and therefore recovery from an access error accompanied by a timeout requires a large amount of time. As a result, there is a problem such that an overall response speed of an information processing system employing the information storage device may be reduced.
This problem will now be described more specifically.
FIG. 4 is a flowchart showing a flow of conventional HDD access processing in a case where data reading or data writing is performed in relation to an HDD. Here, the timeout value of the access is assumed to be 10 seconds, which is a sufficient amount of time to specify the error source. Further, a time required to achieve successful access without error generation is assumed to be 0.1 seconds, and a time required for recovery processing is assumed to be 0.5 seconds.
First, when the HDD executes a command such that the CPU accesses the HDD (step ST100), counting of the timeout value is started, and after waiting for a response from the HDD, an access result is determined (step ST101). When an access error occurs at this time, a disk control unit of the HDD executes processing to specify the source of the error before being timed out (corresponding to the time required to specify the error source). The disk control unit notifies the CPU side of the error source thus specified in the form of an error source report.
The CPU determines whether or not to retry HDD access, taking into consideration the source of the HDD access error specified in the error source report, a number of retries up to that point, and so on (step ST102). When a retry is to be performed, the CPU executes recovery processing corresponding to the error source (step ST103) and then returns to the step ST100 to execute post-recovery access.
On the other hand, when a response is received from the HDD in the step ST101 such that the HDD is accessed successfully without an error (step ST104), the time required for this operation is 0.1 seconds. Further, when an error occurs, the error source is specified, recovery processing is executed in relation to the error, and the processing returns to the step ST101, in which the HDD is accessed successfully without an error, the time required for this operation is 10.6 seconds.
When a retry is deemed unnecessary in the step ST102, the CPU terminates the processing as an access error (step ST105). Note that the time required to obtain this result is the 10 seconds required to specify the error source. Further, when a single access retry is executed, an error occurs in the step ST101 following the recovery processing, and a further retry is deemed unnecessary again in the step ST102 following the error source specification processing, the time required for this operation is 20.5 seconds.
Hence, a minimum of 10 seconds is required to recover from an access error accompanied by a timeout, and when a timeout is implemented again during an access retry, a response cannot be obtained for at least 20 seconds. Furthermore, by shortening the timeout period, the speed of the recovery processing and the response can be increased, but the error source can no longer be specified.
Further, in Patent Document 1, the timeout period is fixed at the first timeout value or the second timeout value depending on the condition (normal condition or degenerated condition) of the disk array, and therefore a similar inconvenience to the aforementioned occur.